/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package mattespill;
import java.util.*;
/**
 *
 * @author Andre
 */
public class Regnestykke {
    
    private ArrayList<Integer> tall;
    private ArrayList<String> operasjoner;
    private int resultat;
    
    public Regnestykke(ArrayList<Integer> tall, ArrayList<String> operasjoner){
        this.tall = tall;
        this.operasjoner = operasjoner;
    }
    public Regnestykke(){
        tall = null;
        tall= null;
        resultat = 0;
    }
    
    @Override
    public String toString(){
        String res = "";
        for ( int i=0;i<operasjoner.size();i++ ){
            res += tall.get(i)+operasjoner.get(i);
            if ( (i+1) == operasjoner.size() ){
                res += tall.get((i+1)) +"="+resultat;
            }
        }
        return res;
    }
    
    public String getRegnestykke(){
        String res = "";
        for ( int i=0;i<operasjoner.size();i++ ){
            res += tall.get(i)+operasjoner.get(i);
            if ( (i+1) == operasjoner.size() ){
                res += tall.get((i+1));
            }
        }
        return res;
    }

    public ArrayList<String> getOperasjoner() {
        return operasjoner;
    }
    public void setOperasjoner(ArrayList<String> operasjoner) {
        this.operasjoner = operasjoner;
    }
    public int getResultat() {
        return resultat;
    }
    public void setResultat(int resultat) {
        this.resultat = resultat;
    }
    public ArrayList<Integer> getTall() {
        return tall;
    }
    public void setTall(ArrayList<Integer> tall) {
        this.tall = tall;
    }
    
    public int operasjon(String operand, int tallIndex, int tall1){
        if (operand.equals("+")){
            return tall1+tall.get(tallIndex+1);
        }else if (operand.equals("-")){
            return tall1-tall.get(tallIndex+1);
        }else if (operand.equals("*")){
            return tall1*tall.get(tallIndex+1);
        }else if (operand.equals("/")){
            return tall1/tall.get(tallIndex+1);
        }
        return -100;
    }
    
    public int regnUtResultat(){
        int len = tall.size();
        int tall1 = 0;
 
        for (int i=0; i<len-1 ; i++){
            if (i==0){
                tall1 = tall.get(0);
                String operand = operasjoner.get(0);
                tall1 = operasjon(operand,i,tall1);
            }else if(i != 0){
                String operand = operasjoner.get(i);
                tall1 = operasjon(operand,i,tall1);
            }
            
        }
        setResultat(tall1);
        return tall1;
    }
    
}
